#ifndef _LC_TEST_THREAD_H
#define _LC_TEST_THREAD_H

#include <gtest/gtest.h>
#include <libcyan.h>

using namespace cyan;

class ThreadImpl : public Thread {
public:
  ThreadImpl() : Thread() {}
  
private:
  virtual ~ThreadImpl() {}
  virtual void process();
};

class TestThread : public ::testing::Test {
protected:
  void SetUp();
  void TearDown();

  static void startThread();
  static void joinThread();

  static ThreadImpl* thread_;
};

#endif /* _LC_TEST_THREAD_H */
